Specification statements and refinement by Carroll

نویسندگان

  • Carroll Morgan
  • Ken Robinson
چکیده

We discuss the development of executable programs from state-based specifications written in the language of first-order predicate calculus. Notable examples of such specifications are those written using the techniques 2 and VDM; but our interest is in the rigorous derivation of the algorithms from which they deliberately abstract. This is, of course, the role of a development method. Here we propose a development method based on specification statements with which specifications are embedded in programs-standing in for developments “yet to be done.” We show that specification statements allow description, development, and execution to be carried out within a single language: programs/ specifications become hybrid constructions in which both predicates and directly executable operations can appear. The use of a single language-embracing both highand low-level constructs-has a very considerable influence on the development style, and it is that influence we discuss: the specification statement is described, its associated calculus of refinement is given, and the use of that calculus is illustrated.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Simulation of Specification Statements in Hoare Logic

Data refinement is a powerful technique to derive implementations in terms of low-level data structures like bytes from specification in terms of highlevel data structures like queues. The higher level operations need not be coded as ordinary programs; it is more convenient to introduce specification statements to the programming language and use them instead of actual code. Specification state...

متن کامل

A Type-Theoretic Basis for an Object-Oriented Refinement Calculus

This paper addresses the issue of giving a formal semantics to an object-oriented programming and specification language. Object-oriented constructs considered are objects with attributes and methods, encapsulation of attributes, subtyping, bounded type parameters, classes, and inheritance. Classes are distinguished from object types. Besides usual imperative statements, specification statement...

متن کامل

Non-Deterministic Expressions and Predicate Transformers

Non-determinacy is important in the formal specification and formal derivation of programs, but non-determinacy within expressions is theoretically problematical. The refinement calculus side-steps the problem by admitting non-determinacy only at the level of statements, leading to a style of programming that favours statements and procedures over expressions and functions. But expressions are ...

متن کامل

ATOM: An Object-based Formal Method for Real-Time Systems

An object based formal method for the development of real-time systems, called ATOM, is presented. The method is an integration of the real-time formal technique TAM (Temporal Agent Model) with an industry-strength structured methodology known as HRT-HOOD. ATOM is a systematic formal approach based on the refinement calculus. Within ATOM, a formal specification (or abstract description statemen...

متن کامل

Refinement in the formal verification of the seL4 microkernel

We present an overview of the different refinement frameworks used in the L4.verified project to formally prove the functional correctness of the seL4 microkernel. The verification is conducted in the interactive theorem prover Isabelle/HOL and proceeds in two large refinement steps: one proof between two monadic, functional specifications in HOL and one proof between such a monadic specificati...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2002